package com.shopx.cm.dao.db2;

import com.shopx.cm.bean.CmMeasure;
import com.shopx.cm.bean.MaterialSaleDTO;
import com.shopx.cm.bean.MaterialSaleReqDTO;
import com.shopx.cm.dto.MaterialSaleSyncDTO;
import com.shopx.cm.dto.MeasureReqDTO;
import com.shopx.dal.mysql.SqlMapper;

import java.util.List;

@SqlMapper
public interface MaterialSaleDao {
    /**
     * 材料销量数据列表（到材料）
     *
     * @return
     */
    List<MaterialSaleDTO> querySalesByMaterialList(MaterialSaleReqDTO dto);

    /**
     * 材料销量数据数量（到材料）
     *
     * @return
     */
    int querySalesByMaterialCnt(MaterialSaleReqDTO dto);

    /**
     * 材料销量数据列表（到品牌）
     *
     * @return
     */
    List<MaterialSaleDTO> querySalesByBrandList(MaterialSaleReqDTO dto);

    /**
     * 材料销量数据数量（到品牌）
     *
     * @return
     */
    int querySalesByBrandCnt(MaterialSaleReqDTO dto);

    /**
     * 材料销量数据列表（到成控编码）
     *
     * @return
     */
    List<MaterialSaleDTO> querySalesByCodeList(MaterialSaleReqDTO dto);

    /**
     * 材料销量数据数量（到成控编码）
     *
     * @return
     */
    int querySalesByCodeCnt(MaterialSaleReqDTO dto);


    /**
     * 材料销量数据列表（到月份）
     *
     * @return
     */
    List<MaterialSaleDTO> querySalesByMthList(MaterialSaleReqDTO dto);

    /**
     * 材料销量数据数量（到月份）
     *
     * @return
     */
    int querySalesByMthCnt(MaterialSaleReqDTO dto);

    /**
     * 根据大区分组查询
     * @param dto
     * @return
     */
    List<MaterialSaleDTO> querySalesByRegionList(MaterialSaleReqDTO dto);

    /**
     * 根据品牌分组查询
     * @param dto
     * @return
     */
    List<MaterialSaleDTO> querySalesBySpList(MaterialSaleReqDTO dto);
    /**
     * 根据材料分组查询
     * @param dto
     * @return
     */
    List<MaterialSaleDTO> querySalesByNameList(MaterialSaleReqDTO dto);

    /**
     * 根据品类分组获取
     * @param dto
     * @return
     */
    List<MaterialSaleDTO> querySalesListByCode(MaterialSaleReqDTO dto);

    /**
     * 获取销售原始数据
     * @param dto
     * @return
     */
    List<MaterialSaleSyncDTO> querySaleDetail(MaterialSaleSyncDTO dto);


}
